#include <iostream>
using namespace std;

int main()
{
    int a = 10;
    int b = 20;
    int& ra = a;
    ra = b; 
    return 0;
}

// int main()
// {
//     int& a;//错误代码，引用必须初始化
//     int& b = NULL;//错误代码，引用不能初始化为空,除非是常引用
//     return 0;
// }

// int main()
// {
//     double a = 3.14;
//     const int& re = a;
//     return 0;
// }

// int main()
// {
//     const int& e = 10;
//     return 0;
// }

// int main()
// {
//     //权限的平移
//     const int a = 10;
//     const int& ra = a;

//     //权限的缩小
//     int b = 20;
//     const int& rb = b;

//     return 0;
// }

// int main()
// {
//     const int a = 10;
//     //int& r = a;//错误代码，因为a是常变量，所以引用前面必须加上const
//     const int& r = a;
//     return 0;
// }

// int& func(int pos)
// {
//     static int arr[10] = {1};
//     return arr[pos];
// }


// int main()
// {
//     func(9) = 180230;
//     cout << func(9) << endl;
//     return 0;
// }

// int* func(int pos)
// {
//     static int arr[10] = {1};
//     return &arr[pos];
// }


// int main()
// {
//     *(func(9)) = 180230;
//     cout << *(func(9)) << endl;
//     // int *pa = func(9);
//     // cout << *pa << endl;
//     return 0;
// }
